Recibo este error después de iniciar las máquinas virtuales del nodo trabajador ( Kubernetes ) desde la consola de AWS . Estoy usando PKS ( Pivotal Container Service )
red para el módulo "xxxxx": NetworkPlugin cni no pudo configurar el módulo "xxxxx" red: no se pudo establecer la dirección del puente: "cni0" ya tiene una dirección IP diferente de 10.xxx/xx
Supongo que Flannel asigna una concesión de subred a los trabajadores del clúster, que caduca después de 24 horas, y flannel.1 y la subred cni0 /24 ya no coinciden, lo que provoca este problema.
También conozco una solución alternativa:
bosh ssh -d worker -c "sudo /var/vcap/bosh/bin/monit stop flanneld" bosh ssh -d worker -c "sudo rm /var/vcap/store/docker/docker/network/files/local-kv.db" bosh ssh -d worker -c "sudo /var/vcap/bosh/bin/monit restart all"Sin embargo, ¿hay alguna solución permanente para esto?
$ ip link set cni0 down $ brctl delbr cni0O, como sugirió @ws_ en los comentarios, elimine las interfaces y reinicie los servicios de k8s:
ip link set cni0 down && ip link set flannel.1 down ip link delete cni0 && ip link delete flannel.1 systemctl restart containerd && systemctl restart kubelet es un known issue
Y hay algunas soluciones para solucionarlo.
La solución por filipenv es:
en amo y esclavos:
$ kubeadm reset $ systemctl stop kubelet $ systemctl stop docker $ rm -rf /var/lib/cni/ $ rm -rf /var/lib/kubelet/* $ rm -rf /etc/cni/ $ ifconfig cni0 down $ ifconfig flannel.1 down $ ifconfig docker0 downes posible que deba desmontar manualmente los sistemas de archivos de
/var/lib/kubeletumountde llamar a rm en ese directorio) Después de hacer eso, inicié docker y kubelet nuevamente y reinicié el proceso kubeadm
aysark: y kubernetes-handbook en una receta para Pod stuck in Waiting or ContainerCreating , ambos recomendados
$ ip link set cni0 down $ brctl delbr cni0 Y hay un artículo en la base de conocimiento de Flannel : La red PKS Flannel no está sincronizada con la red Docker Bridge (cni0)
WA1 es como el tuyo:
bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit stop flanneld" bosh ssh -d <deployment_name> worker -c "sudo rm /var/vcap/store/docker/docker/network/files/local-kv.db" bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit restart all"Si WA1 no ayudó, KB recomienda:
bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit stop flanneld" bosh ssh -d <> worker -c "ifconfig | grep -A 1 flannel" On a master node get access to etcd using the following KB On a master node run `etcdctlv2 ls /coreos.com/network/subnets/` Remove all the worker subnet leases from etcd by running `etcdctlv2 rm /coreos.com/network/subnets/<worker_subnet>;` for each of the worker subnets from point 2 above. bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit restart flanneld"Estoy ejecutando docker con kubernetes. Hice lo siguiente en todos mis nodos maestros y esclavos y mi clúster funcionó:
sudo su ip link set cni0 down && ip link set flannel.1 down ip link delete cni0 && ip link delete flannel.1 systemctl restart docker && systemctl restart kubelet